package me.zhengjie.modules.fund.service;

import me.zhengjie.modules.fund.domain.FundNetValue;
import me.zhengjie.modules.fund.domain.UserFund;
import me.zhengjie.modules.fund.service.dto.UserFundDto;
import me.zhengjie.modules.fund.service.dto.UserFundQueryCriteria;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.Set;

public interface UserFundService {
    /**
     * 创建
     *
     * @param resources /
     * @return /
     */
    void create(UserFund resources);

    /**
     * 更新
     *
     * @param resources
     */
    void update(UserFund resources);

    /**
     * 更新指定基金的净值
     *
     * @param resources
     */
    void updateNetValue(FundNetValue resources);

    /**
     * 删除
     *
     * @param ids 要删除的ids
     */
    void delete(Set<Long> ids);

    /**
     * 查询所有基金，不分页
     *
     * @param criteria 查询条件
     * @return
     */
    Page<UserFundDto> queryAll(UserFundQueryCriteria criteria, Pageable pageable);
}
